package com.tepth.vehiclemaintenance.mvp.work.detail;

import com.tepth.vehiclemaintenance.base.BaseModel;
import com.tepth.vehiclemaintenance.base.BasePresenter;
import com.tepth.vehiclemaintenance.base.BaseView;
import com.tepth.vehiclemaintenance.bean.DetailDriverRemark;
import com.tepth.vehiclemaintenance.bean.MaintainListWork;
import com.tepth.vehiclemaintenance.net.ApiModel;

import java.util.ArrayList;

import io.reactivex.Observable;

/**
 * Created by zhangyu on 2017/5/15.
 */

public class DetailContract {

    interface View extends BaseView {
        String getAuthKey();

        int getMaintainId();

        void showMaintainDetail(DetailDriverRemark detailDriverRemark);

        void showOperatorList(ArrayList<MaintainListWork.ListContentsBean.ListRemarkBean.OperationBean> list);
    }

    interface Model extends BaseModel {
        Observable<ApiModel<DetailDriverRemark>> getMaintainDetail(String authKey,
                                                                   int maintainId);

        Observable<ApiModel<ArrayList<MaintainListWork.ListContentsBean.ListRemarkBean.OperationBean>>>
        getOperatorList(String authKey);
    }

    abstract static class Presenter extends BasePresenter<Model, View> {

        @Override
        public void onStart() {

        }

        abstract void getMaintainDetail();

        abstract void getOperatorList();
    }
}